namespace SupplierCustomerManagement.Read.API.Dtos
{
    /// <summary>
    /// 附件列表数据传输对象
    /// </summary>
    public class AttachmentListDto
    {
        /// <summary>
        /// 附件ID
        /// </summary>
        public int Id { get; set; }

        /// <summary>
        /// 关联实体ID
        /// </summary>
        public int RelatedEntityId { get; set; }

        /// <summary>
        /// 关联实体类型
        /// </summary>
        public string RelatedEntityType { get; set; } = string.Empty;

        /// <summary>
        /// 文件名
        /// </summary>
        public string FileName { get; set; } = string.Empty;

        /// <summary>
        /// 原始文件名
        /// </summary>
        public string OriginalFileName { get; set; } = string.Empty;

        /// <summary>
        /// 文件路径
        /// </summary>
        public string FilePath { get; set; } = string.Empty;

        /// <summary>
        /// 文件大小（字节）
        /// </summary>
        public long FileSize { get; set; }

        /// <summary>
        /// 文件大小（格式化显示）
        /// </summary>
        public string FileSizeFormatted { get; set; } = string.Empty;

        /// <summary>
        /// 文件类型
        /// </summary>
        public string FileType { get; set; } = string.Empty;

        /// <summary>
        /// 文件扩展名
        /// </summary>
        public string FileExtension { get; set; } = string.Empty;

        /// <summary>
        /// 上传人ID
        /// </summary>
        public int? UploaderId { get; set; }

        /// <summary>
        /// 上传人姓名
        /// </summary>
        public string? UploaderName { get; set; }

        /// <summary>
        /// 文件MD5值
        /// </summary>
        public string? FileMD5 { get; set; }

        /// <summary>
        /// 备注
        /// </summary>
        public string? Remarks { get; set; }

        /// <summary>
        /// 创建时间
        /// </summary>
        public DateTime CreatedTime { get; set; }

        /// <summary>
        /// 更新时间
        /// </summary>
        public DateTime? UpdatedTime { get; set; }

        /// <summary>
        /// 创建人ID
        /// </summary>
        public int? CreatedBy { get; set; }

        /// <summary>
        /// 更新人ID
        /// </summary>
        public int? UpdatedBy { get; set; }

        /// <summary>
        /// 是否删除
        /// </summary>
        public bool IsDeleted { get; set; }
    }
} 